package org.Iteracion4;

/**
 * Hello world!
 *
 */
public class App 
{
	public static void main (String [] args){
		System.out.println("Cree su perfil");
		Cliente clien = new Cliente("Patrick Kluivert", "GrandeRivo");
		System.out.println("Cliente registrado: " +
				"\nNombre: " + clien.getNombre() );
		//Modificar perfil
		clien.modificarPerfil("Pep Guardiola", "filosofo");
		boolean modificado = false;
		if(clien.getNombre().equals("Pep Guardiola") && clien.getLogin().equals("filosofo")){
			modificado = true;
		}
		if(modificado){
			System.out.println("Perfil modificado: " +
				"\nNuevo nombre: "+clien.getNombre() + " Nuevo login guardado.");
		}
			
		//Borrar perfil
		clien.BorrarPerfil();
		if(clien.getNombre().equals("") && clien.getLogin().equals("")){
			System.out.println("\nLos datos del cliente se han borrado");
		}
		
		
		
		System.out.println("Nuevo Empleado");
		Empleado emplen = new Empleado("Manuel Esteban", "micontra");
		System.out.println("\nNuevo Empleado añadido a la base de datos:" + 
				"\nNombre: " + emplen.getNombre());
		
		boolean autenticado = false;
		
		System.out.println("Por favor Empleado autentiquese");
		autenticado = emplen.autenticar(emplen.getLogin());
		if(autenticado)
			System.out.println("El empleado ha sido autenticado");
		System.out.println("Añadir muebles a la lista de muebles");
		
		Mueble m1 = new Mueble("a134B",210);
		Mueble m2 = new Mueble("a134A",300);
		Mueble m3 = new Mueble("a134C",110);
		Mueble m4 = new Mueble("a134V",999);
		emplen.AnadirMuebleNuevo(m1);
		emplen.AnadirMuebleNuevo(m2);
		emplen.AnadirMuebleNuevo(m3);
		emplen.AnadirMuebleNuevo(m4);
		if (!emplen.getMuebles().isEmpty())
			System.out.println("Los muebles han sido añadidos a la lista");
		
		
		clien.modificarPerfil("Roberto", "RBT");
		System.out.println("Cliente necesita autenticarse");
		clien.autenticar(clien.getLogin());
		
		System.out.println(clien.getNombre() +" cree un diseño de habitación\n");
		//Crear el diseño de habitación
		DisenoHabitacion nuevoDis;
		nuevoDis = clien.DisenarHabitacion();
		nuevoDis.setColorPared("Blanco");
		nuevoDis.setColorSuelo("Marrón");
		nuevoDis.setMedidaAlto(2.2);
		nuevoDis.setMedidaAncho(4.5);
		nuevoDis.setMedidaLargo(5.5);
		nuevoDis.addMueble(m2);
		nuevoDis.addMueble(m3);
		double Precio;
		Precio = CalcularPrecio(nuevoDis);
		System.out.println("El precio de su diseño es: " + Precio +"e");
		
		DardeBajaMueble(emplen);
		VerPedidosSistema(emplen,nuevoDis);
		
		
	}
	
	public static void VerPedidosSistema(Empleado emplen,DisenoHabitacion nuevoDis){
		System.out.println("\nEl empleado quiere ver los pedidos registrados en el sistema.");
		System.out.println(emplen.VerPedidos(nuevoDis.getListaMuebles()));
	}
	public static void DardeBajaMueble(Empleado emplen) {
		boolean borrado = false;
		System.out.println("\nEmpleado quiere dar de baja algun mueble");
		emplen.DarBajaMueble("a134V");
		for(int i=0; i<emplen.getMuebles().size(); i++){
			if(!emplen.getMuebles().get(i).getCodigo().equals("a134V")){
				borrado = true;
			}
		}
		if(borrado)
			System.out.println("El mueble ha sido borrado de la lista.");
		
	}
	
	public static double CalcularPrecio(DisenoHabitacion nuevoDis){
		System.out.println("El precio de su diseño con los muebles elegidos es el siguiente: ");
		double precio = 0;
		for(int i=0; i<nuevoDis.getListaMuebles().size(); i++){
			precio += nuevoDis.getListaMuebles().get(i).getPrecio(); 
		}
		return precio;
	}
}
